import Vue from 'vue'
import Vuex from 'vuex'

import app from './modules/app'
import user from './modules/user'

// default router permission control
import permission from './modules/permission'

// dynamic router permission control (Experimental)
// import permission from './modules/async-router'
import getters from './getters'

import userManage from './modules/userManage'
import roleManage from './modules/roleManage';
import planManage from './modules/planManage'
import dataManage from './modules/dataManage'
import reportManage from './modules/reportManage'
import menuManage from './modules/menuManage'
import custom from './modules/custom'
import analyseType from './modules/analyseType'
import sql_query from './modules/sql_query'
import filter from './modules/report_filter'
import charts from './modules/charts'
import orgManage from './modules/orgManage'
import projectManage from "@/store/modules/projectManage";
import publicReportManage from "@/store/modules/publicReportManage"
import announcementManage from "@/store/modules/announcementManage";
import userTagManage from "@/store/modules/userTagManage";
import auditLogManage from "@/store/modules/auditLogManage";

Vue.use(Vuex)

export default new Vuex.Store({
  modules: {
    app,
    user,
    permission,
    userManage,
    roleManage,
    planManage,
    dataManage,
    menuManage,
    reportManage,
    custom,
    analyseType,
    sql_query,
    filter,
    charts,
    orgManage,
    projectManage,
    publicReportManage,
    announcementManage,
    userTagManage,
    auditLogManage
  },
  state: {

  },
  mutations: {

  },
  actions: {

  },
  getters
})
